package io.renren.modules.workflow.dao;


import io.renren.modules.workflow.entity.ActBusModelDefinition;
import io.renren.modules.workflow.entity.BusRoleWorkFlow;

import java.util.List;

/**
 * @Desc 流程模版定义部署 mapper
 * @Author landlord
 * @Date 2021/7/26 11:21
 */
public interface ActBusModelDefinitionMapper {
    /**
     * 查询流程模版定义部署
     *
     * @param abmdId 流程模版定义部署ID
     * @return 流程模版定义部署
     */
    public ActBusModelDefinition selectActBusModelDefinitionById(String abmdId);
    /**
     * 查询流程模版定义部署
     *
     * @param abmdDeployId 流程部署ID
     * @return 流程模版定义部署
     */
    public ActBusModelDefinition selectActBusModelDefinitionDeployId(String abmdDeployId);
    /**
     * 查询流程模版定义部署列表
     *
     * @param actBusModelDefinition 流程模版定义部署
     * @return 流程模版定义部署集合
     */
    public List<ActBusModelDefinition> selectActBusModelDefinitionList(ActBusModelDefinition actBusModelDefinition);

    /**
     * 查询流程模版定义部署列表 取消掉部门权限
     *
     * @param actBusModelDefinition 流程模版定义部署
     * @return 流程模版定义部署集合
     */
    public List<ActBusModelDefinition> selectActBusModelDefinitionlistStart(ActBusModelDefinition actBusModelDefinition);

    /**
     * 新增流程模版定义部署
     *
     * @param actBusModelDefinition 流程模版定义部署
     * @return 结果
     */
    public int insertActBusModelDefinition(ActBusModelDefinition actBusModelDefinition);

    /**
     * 修改流程模版定义部署
     *
     * @param actBusModelDefinition 流程模版定义部署
     * @return 结果
     */
    public int updateActBusModelDefinition(ActBusModelDefinition actBusModelDefinition);

    /**
     * 删除流程模版定义部署
     *
     * @param abmdId 流程模版定义部署ID
     * @return 结果
     */
    public int deleteActBusModelDefinitionById(String abmdId);

    /**
     * 删除角色与流程关联
     * @return 结果
     */
    public int deleteRoleWorkFlow(ActBusModelDefinition actBusModelDefinition);

    /**
     * 批量新增删除角色与流程信息
     * @return 结果
     */
    public int batchRoleWorkFlow(List<BusRoleWorkFlow> roleWorkFlows);


}
